Assigning Z-order to user interface elements

ABSTRACT

Various embodiments related to assigning z-order to a plurality of user interface elements are disclosed. One disclosed embodiment provides a method of assigning a z-ordering to a user interface element displayed on a multi-user interactive display based upon an interaction state of the user interface element, the interaction state being dependent upon how a user interacts with the user interface element. The method comprises detecting a change in the interaction state of the user interface element. If the change is an initiation of a movement of the user interface element on the display, the user interface element is moved to a first predetermined position within the z-ordering. If the change is an initiation of a user interaction with content contained within the user interface element, the user interface element is moved to a second predetermined position within the z-ordering.

BACKGROUND

Graphical user interfaces with multi-touch displays may be configured toaccept input simultaneously from a plurality of users. Further, eachuser may interact with one or more user interface elements that aredisplayed by the multi-touch display. For example, two users mayinteract with a set of digital images and each user may manipulate adifferent digital image from the set at the same time. As such, theremay be several active user interface elements on the multi-touch displaythat have the potential to overlap as users manipulate the elements.

Therefore, user interface elements on a graphical user interface areassigned a z-ordering to determine which user interface elements aredisplayed in front of other elements in the case of overlap. Suchz-ordering may affect various functionalities, such as drag-and-dropactions.

SUMMARY

Accordingly, various embodiments related to assigning z-order to aplurality of user interface elements are disclosed herein. For example,one disclosed embodiment provides, in a multi-user interactive displaydevice comprising a display, a method of assigning a z-ordering to auser interface element displayed on the display based upon aninteraction state of the user interface element, the interaction statebeing dependent upon how a user interacts with the user interfaceelement. The method comprises detecting a change in the interactionstate of the user interface element. If the change is an initiation of amovement of the user interface element on the display, the userinterface element is moved to a first predetermined position within thez-ordering. If the change is an initiation of a user interaction withcontent contained within the user interface element, the user interfaceelement is moved to a second predetermined position within thez-ordering. If the change is a cessation of a user interaction with theuser interface element, the user interface element is moved to a thirdpredetermined position within the z-ordering.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic view of users interacting with an embodiment ofa multi-user interactive display device.

FIG. 2 shows a schematic view of an embodiment of a computing deviceincluding an interactive display.

FIG. 3 shows a flow diagram illustrating an embodiment of a method ofassigning a z-order to a user interface element.

FIGS. 4-6 show an example of a movement of a user interface element on amulti-touch display according to an embodiment of the presentdisclosure.

FIGS. 7-9 show another example of a movement of a user interface elementon a multi-touch display according to an embodiment of the presentdisclosure.

FIGS. 10-12 show examples of assigning a z-order to a user interfaceelement according to an embodiment of the present disclosure.

FIG. 13 shows a flow diagram illustrating an embodiment of a method ofdirecting user inputs from a user input device to a selected userinterface element.

DETAILED DESCRIPTION

Various embodiments are disclosed herein that related to assigningz-order to a plurality of user interface element displayed on amulti-touch display. As mentioned above, when multiple users areinteracting with a plurality of user interface elements, one or moreactive user interface elements can overlap. Depending on the z-orderingof the user interface elements, such overlap may support or obstructvarious functionalities, such as drag-and-drop functionalities. Prior todiscussing the assigning of z-order to user interface elements on amulti-touch display, a schematic view of a use environment of amulti-touch display is described with reference to FIG. 1 and anembodiment of an example computing device including a multi-touchdisplay is described with reference to FIG. 2.

FIG. 1 shows a schematic view of two users 102 and 104 interacting witha surface 106 of an embodiment of a multi-touch display 108. Asdepicted, user 102 is manipulating user interface element 112 via atouch (e.g., finger 110) and user 104 is manipulating user interfaceelement 118 via a touch (e.g., finger 116). A third user interfaceelement 114 is shown positioned partially underneath user interfaceelement 112.

Continuing to FIG. 2, a schematic depiction of an embodiment a surfacecomputing device 200 comprising a multi-touch display 202 is shown. Themulti-touch display 202 comprises a projection display system having animage source 204, and a display screen 206 onto which images areprojected. While shown in the context of a projection display system, itwill be appreciated that the embodiments described herein may also beimplemented with other suitable display systems, including but notlimited to LCD panel systems. Further, while described herein in thecontext of a multi-touch input device, it will be understood that thedisclosed embodiments may be used with any other suitable input device,including but not limited to systems configured to accept input from aplurality of mouse devices, etc.

The image source 204 includes a light source 208 such as a lamp(depicted), an LED array, or other suitable light source. The imagesource 204 also includes an image-producing element 210 such as thedepicted LCD (liquid crystal display), an LCOS (liquid crystal onsilicon) display, a DLP (digital light processing) display, or any othersuitable image-producing element.

The display screen 206 includes a clear, transparent portion 212, suchas sheet of glass, and a diffuser screen layer 214 disposed on top ofthe clear, transparent portion 212. As depicted, the diffuser screenlayer 214 acts as a touch surface. In other embodiments, an additionaltransparent layer (not shown) may be disposed over diffuser screen layer214 as a touch surface to provide a smooth look and feel to the displaysurface. Further, in embodiments that utilize a LCD panel rather than aprojection image source to display images on display screen 206, thediffuser screen layer 214 may be omitted.

Continuing with FIG. 2, the multi-touch display 202 further includes anelectronic controller 216 comprising a processor 218 and a memory 220.It will be understood that memory 220 may be a computer-readable storagemedium (e.g., disk, tape, etc.) comprising instructions (e.g., software)stored thereon that is executable by the processor 218 to control thevarious parts of computing device 200 to effect the methods describedherein.

To sense objects placed on display screen 206, the multi-touch display202 includes an image sensor 224 configured to capture an image of theentire backside of display screen 206, and to provide the image toelectronic controller 216 for the detection of objects appearing in theimage. The diffuser screen layer 214 helps to avoid the imaging ofobjects that are not in contact with or positioned within a fewmillimeters of display screen 206. Because objects that are close to butnot touching the display screen 206 may be detected by image sensor 224,it will be understood that the term “touch” as used herein also maycomprise near-touch inputs.

The image sensor 224 may include any suitable image sensing mechanism.Examples of suitable image sensing mechanisms include but are notlimited to CCD and CMOS image sensors. Further, the image sensingmechanisms may capture images of display screen 206 at a sufficientfrequency to detect motion of an object across display screen 206. Whilethe embodiment of FIG. 2 shows one image sensor, it will be appreciatedthat more than one image sensor may be used to capture images of displayscreen 206.

The image sensor 224 may be configured to detect light of any suitablewavelength, including but not limited to infrared and visiblewavelengths. To assist in detecting objects placed on display screen206, the image sensor 224 may further include an illuminant 226 such asone or more light emitting diodes (LEDs) configured to produce infraredor visible light to illuminate a backside of display screen 206. Lightfrom illuminant 226 may be reflected by objects placed on display screen206 and then detected by image sensor 224. Further, an infrared bandpass filter 227 may be utilized to pass light of the frequency emittedby the illuminant 226 but prevent light at frequencies outside of theband pass frequencies from reaching the image sensor 224, therebyreducing the amount of ambient light that reaches the image sensor 224.

While described herein in the context of an optical touch-sensitivesystem, the embodiments described herein also may be used with any othersuitable type of touch-sensitive input system or non-touch-sensitivesystem and with any suitable type of computing device. Examples of othersuch systems include, but are not limited to, capacitive and resistivetouch-sensitive inputs. Further, while depicted schematically as asingle device that incorporates the various components described aboveinto a single unit, it will be understood that the multi-touch display202 also may comprise a plurality of discrete physical parts or unitsconnected as a system by cables, wireless connections, networkconnections, etc. It will be understood that the term “computing device”may include any device that electronically executes one or moreprograms, such as a user interface program. Such devices may include,but are not limited to, personal computers, laptop computers, servers,portable media players, hand-held devices, cellular phones, andmicroprocessor-based programmable consumer electronic and/or appliances.

FIG. 2 also depicts a hand 230 with a finger placed on display screen206. Light from the illuminant 226 reflected by the finger may bedetected by image sensor 224, thereby allowing the touch of the fingerto be detected on the screen. While shown in the context of a finger, itwill be understood that any other suitable manipulator or manipulators(e.g., one or more styluses, paint brushes, etc.) and/or object orobjects (e.g., one or more cell phones, business cards, cameras, tags,etc.) may be used to interact with computing device 200.

FIG. 3 shows an embodiment of a method 300 of assigning a z-ordering toa user interface element displayed by the graphical user interface onthe multi-touch display based upon an interaction state of the userinterface element at an instant in time. Specifically, method 300assigns a z-order to the user interface element based on how the usercurrently interacts with the user interface element. This may help toavoid problems caused by z-ordering that may arise in cases where amost-recently activated user interface element is automatically assigneda top z-ordering. For example, simply assigning a most-recentlyactivated user interface element may cause difficulties where one userattempts to drag-and-drop a user interface element into a more-recentlyactivated user interface element, as the dragged user interface elementmay pass behind the more-recently activated element due to its lowerz-ordering.

At 302 of method 300, a change in interaction state of a user interfaceelement is detected, wherein the interaction state of a user interfaceelement is determined by a nature of a user's current interaction withthe user interface element. Next, at 304, it is determined if the changeis an initiation of movement of the user interface element. In someexamples, the movement may be a dragging of the user interface elementfrom one location on the display to another location on the display, orinto another user interface element. Other examples of movement includerotating or resizing the user interface element. If it is determinedthat the change is an initiation of movement, method 300 moves to 312where the user interface element is moved to a first predeterminedposition within the z-ordering. In some embodiments, the firstpredetermined position may be a top z-order position within a topz-order layer, as will be described in greater detail with reference toFIGS. 10-12. After the user interface element is moved to the firstpredetermined position, method 300 returns to the start to await a nextchange in interaction state. As such, a user interface element can bemoved to another predetermined position within the z-order when the userinteraction with the interface element ceases, for example.

On the other hand, if the change is neither an initiation of movementnor cessation of user interaction, method 300 continues to 306 where itis determined if the change is an initiation of user interaction withcontent contained within the user interface element. Interaction withcontent contained within the user interface element includesmanipulating the content within the user interface element via a mouse,keyboard, stylus/pen, or touch input. For example, the user may use amouse or touch input to highlight an object contained within the userinterface element or modify text within the user interface element.

If it is determined that the change is an initiation of user interactionwithin the user interface element, method 300 moves to 314 where theuser interface element is moved to a second predetermined positionwithin the z-ordering. In some embodiments, the second predeterminedposition is farther from the top z-order position than the firstpredetermined position. For example, the second predetermined positionmay be located within a middle z-order layer that is below the topz-order layer. After the user interface element is moved to the secondpredetermined position, method 300 returns to the start. As describedabove, in this manner, a user interface element can move between z-orderpositions when user interaction with the interface element againchanges.

If, instead, it is determined that the change is not an initiation ofmovement within the user interface element, method 300 proceeds to 308where it is assumed that the change is a cessation of user interactionwith the user interface element. Cessation of user interaction can beassumed because it has been determined that the user interface elementand content within the user interface element are not being manipulated,and/or a touch input over the user interface element is no longerdetected.

Finally, method 300 of FIG. 3 continues to 310 where the user interfaceelement is moved to a third predetermined position within the z-order.In some embodiments, the third predetermined position is farther from atop z-order position than the first predetermined position and thesecond predetermined position. Further, the third predetermined positionmay be located within a third z-order layer that is below the middlez-order layer. After the user interface element is moved to the thirdpredetermined position, method 300 returns to the start so that the userinterface element again may be moved to a different position within thez-order when user interaction with the user interface element changes.

As described above, a user interface element may be assigned a z-orderposition in response to a user initiated movement of the user interfaceelement such as dragging. FIGS. 4-6 show an example movement of a userinterface element when z-order is not assigned according to method 300described with reference to FIG. 3. As shown in FIG. 4, a user 404 maytouch a user interface element 406 displayed on multi-touch display 402of graphical user interface 400. Next, user 404 drags user interfaceelement 406 towards user interface element 408 via a fluid movement, asindicated by arrow 410.

In the depicted embodiment, the content of user interface element 408 iscurrently being modified by another user 412. Without assigning az-order as described above, user interface element 406 moves underneathuser interface element 408 such that it is at least partially obscuredby user interface element 408, as shown in FIG. 6.

In contrast, FIGS. 7-9 show an example of movement of a user interfaceelement when z-order is assigned according to method 300 described withreference to FIG. 3. Similar to FIG. 4, FIG. 7 shows a user 404initiating movement of a user interface element 406 by touching userinterface element 406 displayed on multi-touch display 402 of graphicaluser interface 400.

User 404 drags user interface element 406 towards user interface element408 via a fluid movement, as indicated by arrow 410 in FIG. 8. Asmentioned above, content of user interface element 408 is currentlybeing modified by another user 412. By assigning a z-order to the userinterface elements based on the interaction state of the user interfaceelement (i.e., how the user interacts with the user interface element),user interface element 406 can be successfully dragged on top of anddropped into user interface element 408, as shown in FIG. 9.

As an example, user interface element 406 may be a digital image anduser interface element 408 may be a folder. While one user modifiescontent of the folder, another user may drag a digital image into thefolder. When both the folder and the digital image are assigned aposition in the z-order based on their respective interaction states, auser can add the digital image to the folder without the digital imagefalling under the folder. As another example, user interface element 406also may be a folder, and the user may desire to move the folder so thatit is a sub-folder of user interface element 408.

It will be understood that more than one user interface element canoccupy a z-order layer. FIGS. 10-12 show examples of changing z-order1000 of a plurality of user interface elements based on a change ininteraction state. In each of FIGS. 10-12, a top z-order layer isindicated at 1002, a middle z-order layer is indicated at 1004, and abottom z-order layer is indicated at 1006. The left hand side of eachfigure shows the z-ordering of a stack of user interface elements 1008,1010, and 1012 before a change in interaction state of any of the userinterface elements 1008, 1010, 1012.

In the example of FIG. 10, the interaction state of user interfaceelement 1012 changes. As shown, initially user interface element 1012 ispositioned in the bottom layer of the z-order, for example, a user maynot be interacting with user interface element 1012. As indicated byarrow 1014, the interaction state of user interaction element 1012changes. For example, a user may begin to move user interface element1012. As a result, user interface element 1012 moves to top position ofthe z-order in the top z-order layer above user interface element 1008,as shown on the right hand side of FIG. 10.

User interaction element 1008 may remain in the top z-order layer whileits interaction state remains unchanged, i.e., a user continues to drag,resize, rotate, etc. user interaction element 1008. For example, in theembodiments described herein, continuation of movement may implymovement interaction continues until all fingers (i.e., contacts)involved in the movement are removed from the surface. For example, ifthe user stops moving all fingers but the fingers remain in contact withthe display surface, movement interaction may be considered to continue.Continuation of movement may also imply movement interaction continuesas long as at least one of the fingers (i.e., contacts) involved in themovement interaction keeps moving. For example, if one or more of thefingers remain in contact with the display but all of the fingers incontact with the display stop moving, movement interaction may beconsidered to cease. Further, in other examples, the user may indicatethat he is about to begin movement interaction via touch input and thenuse another input mechanism to perform the movement, such as keyboardarrow keys or mouse movement. Then, the user may indicate the movementinteraction is over via touch input.

Continuing with FIG. 10, because user interface element 1012 is thenewest user interface element to enter the top z-order layer, however,user interface element 1012 takes the top position in that layer anduser interface element 1008 is positioned below it. In such aconfiguration, user interface element 1008 would fall under userinterface element 1012 if they were positioned such that they wereoverlapping.

FIG. 11 shows another example of a change in interaction state, wherearrow 1016 indicates a change in the user interaction state of userinteraction element 1012. For example, a user may begin dragging afinger within a scroll view in user interaction element 1012. As aresult, user interaction element 1012 moves to the top position in themiddle z-order layer, as shown on the right hand side of FIG. 11. Asdescribed above, since user interaction element 1012 is the newest userinteraction element to move to the middle z-order layer, it takes thetop position in that layer and user interface element 1010 falls belowit.

FIG. 12 shows a third example of movement within the z-ordering of thestack of user interaction elements. In this example, arrow 1018indicates a change in interaction state of user interface element 1008.On the left side of FIG. 12, a user may be rotating user interactionelement 1008 and, as such, user interaction element 1008 is in the topz-order layer. The user may, for example, cease contact with userinteraction element 1008 and, thus, interaction with user interactionelement 1008 ceases. As a result, user interaction element 1008 moves tothe bottom z-order layer, as shown on the right hand side of FIG. 12. Ina similar manner to that described above, user interaction element 1008moves to the top position in the bottom z-order layer since it is thenewest element to enter that layer, and user interaction element 1012falls below it. It will be understood that the examples described aboveare presented for the purpose of example, and are not intended to belimiting in any manner.

Continuing to FIG. 13, the flow diagram in FIG. 13 illustrates a method1300 of directing inputs from an indirect user input device (e.g.,keyboard, voice, web camera, etc.) to a selected user interface element.The term “indirect user input device” represents input devices in whicha user input does not inherently specify a location of a user input on agraphical user interface. In comparison, input from “direct” user inputdevices inherently specifies a location of an input (e.g. cursor-basedmouse inputs, touch inputs, laser pointer inputs, etc.). Specifically,method 1300 determines if an initiation of user interaction with aselected user interface element is a selection of a “focus-assigning”user interface control and directs inputs from the indirect user inputdevice accordingly.

The term “focus” describes a state in which a specified user interfaceelement (i.e., the element that has focus) receives input from anindirect user input device. In conventional graphical user interfaces inwhich there is one active window at a time, focus is automaticallyassigned to the active window when it is initially activated. However,in a multi-touch display or other such multi-user computing device withmultiple active windows, if focus is assigned based upon z-order,another window may lose focus in situations where focus is desired.

Therefore, instead of automatically assigning focus to a user interfaceelement upon activation, method 1300 assigns focus only where thepreviously mentioned “focus-assigning” user interface control isselected. In this manner, a user interface element is assigned focusonly if that application requests focus in response to a user interfaceinput requesting focus.

At 1302 of method 1300, initiation of a user interaction with contentcontained within the selected user interface element is detected. Next,method 1300 continues to 1304 where the selected user interface elementis moved to a predetermined position within the z-ordering, as describedabove.

Once the selected user interface element is moved to a predeterminedposition within the z-ordering, method 1300 proceeds to 1306 where it isdetermined if the user interaction is a selection of a focus-assigninguser interface control within the selected user interface element. Forexample, the user may select to use a keyboard to input text to a userinterface element. If it is determined that the user interaction is nota selection of a focus-assigning user interface control, method 1300moves to 1310 and inputs from the indirect user input device are notdirected to the selected user interface element.

On the other hand, if it is determined that the user interaction is aselection of a focus-assigning user interface control within theselected user interface element, method 1300 proceeds to 1308 whereinputs from the indirect user input device are directed to the selecteduser interface element. For example, the user input device may be akeyboard and the user may begin typing in the selected user interfaceelement.

It will be understood that more than one user interface element may havefocus at any time. For example, where two users each desire to entertext into respective user interface elements, each user may requestfocus, and each user may be presented with a virtual keyboard (forexample) so that the users can enter text in the different userinterfaces with different virtual keyboards.

It is to be understood that the configurations and/or approachesdescribed herein are exemplary in nature, and that these specificembodiments or examples are not to be considered in a limiting sense,because numerous variations are possible. The specific routines ormethods described herein may represent one or more of any number ofprocessing strategies. As such, various acts illustrated may beperformed in the sequence illustrated, in other sequences, in parallel,or in some cases omitted. Likewise, the order of the above-describedprocesses may be changed.

The subject matter of the present disclosure includes all novel andnonobvious combinations and subcombinations of the various processes,systems and configurations, and other features, functions, acts, and/orproperties disclosed herein, as well as any and all equivalents thereof.

This invention claimed is:
 1. In a multi-user interactive display devicecomprising a display, a method of assigning a z-ordering to a userinterface element displayed on the display based upon an interactionstate of the user interface element, the interaction state beingdependent upon how a user interacts with the user interface element, themethod comprising: detecting a change in the interaction state of theuser interface element; if the change is an initiation of a movement ofthe user interface element on the display, then moving the userinterface element to a first predetermined position within thez-ordering, the first predetermined position being within a top z-orderlayer that includes a plurality of positions that are above a highestposition of a middle order layer; if the change is not an initiation ofa movement of the user interface element on the display but is aninitiation of a user interaction with content contained within the userinterface element, then moving the user interface element to a secondpredetermined position within the z-ordering that is different than thefirst predetermined position, the second predetermined position beingwithin the middle z-order layer, the middle z-order layer including aplurality of positions that are below a lowest position of the topz-order layer; and if the change is a cessation of a user interactionwith the selected user interface element, then moving the user interfaceelement to a third predetermined position that is within a lower z-orderlayer that includes a plurality of positions that are below the middlez-order layer, where more than one user interface element occupies az-order layer, and within each layer, a most recent user interfaceelement to occupy the layer is located at a top z-order position withinthe layer.
 2. The method of claim 1, where the lower z-order layer is abottom z-order layer.
 3. The method of claim 1, where movement of theuser interface element on the display includes one or more of dragging,flicking, rotating, and resizing the user interface element.
 4. Themethod of claim 1, further comprising: detecting an initiation of a userinteraction with content contained within a selected user interfaceelement; if the user interaction is selection of a focus-assigning userinterface control within the selected user interface element, thendirecting inputs from an indirect user input device to the selected userinterface element; and if the user interaction is not selection of thefocus-assigning user interface control within the selected userinterface element, then not directing inputs from the indirect userinput device to the selected user interface element.
 5. A computingdevice, comprising: a multi-touch display; a processor; and memorycomprising instructions executable by the processor to: display on thedisplay a plurality of user interface elements; detect a change in aninteraction state of a selected user interface element, the interactionstate being defined by a type of interaction a user makes with theselected user interface element at an instant in time; if the change inthe interaction state is an initiation of a movement of the selecteduser interface element on the display, then move the selected userinterface element to a first predetermined position within a z-orderingof the plurality of user interface elements, the first predeterminedposition being within a top z-order layer that includes a plurality ofpositions; if the change is not an initiation of a movement of theselected user interface element on the display but is an initiation of auser interaction with content contained within the selected userinterface element, then move the selected user interface element to asecond predetermined position within the z-ordering that is farther froma top z-order position than the first predetermined position, the secondpredetermined position being within a middle z-order layer that includesa plurality of positions that are below the top z-order layer; and ifthe change is a cessation of a user interaction with the selected userinterface element, then move the selected user interface element to athird predetermined position that is farther from the top z-orderposition than the first predetermined position and the secondpredetermined position, the third predetermined position being within abottom z-order layer that includes a plurality of positions that arebelow the middle z-order layer, where more than one interface elementoccupies a z-order layer, and within each layer a most recent interfaceelement to occupy the layer is placed at the top z-order position of thelayer.
 6. The computing device of claim 5, where movement of theselected user interface element includes one or more of dragging,resizing, and rotating the selected user interface element.
 7. Thecomputing device of claim 5, where user interaction with contentcontained within the selected user interface element includesmanipulating the content via a mouse, keyboard, stylus or touch input.8. The computing device of claim 5, further comprising instructionsexecutable by the processor to: detect an initiation of a userinteraction with content contained within the user interface element; ifthe user interaction is selection of a focus-assigning user interfacecontrol within the selected user interface element, then direct inputsfrom an indirect user input device to the selected user interfaceelement; and if the user interaction is not selection of thefocus-assigning user interface control within the selected userinterface element, then not to direct inputs from the indirect userinput device to the selected user interface element.
 9. A computingdevice, comprising: a multi-touch display; a processor; and memorycomprising instructions executable by the processor to detect a changein an interaction state of a user interface element; if the change is aninitiation of a movement of the user interface element on the display,then move the user interface element to a first predetermined positionwithin a z-ordering, the first predetermined position being within a topz-order layer that includes a plurality of positions that are above ahighest position of a middle z-order layer; if the change is not aninitiation of a movement of the user interface element on the displaybut is an initiation of a user interaction with content contained withinthe user interface element, then move the user interface element to asecond predetermined position within the z-ordering that is differentthan the first predetermined position, the second predetermined positionbeing within the middle z-order layer, the middle z-order layerincluding a plurality of positions that are below a lowest position ofthe top z-order layer; and if the change is a cessation of a userinteraction with the selected user interface element, then move the userinterface element to a third predetermined position that is within alower z-order layer that includes a plurality of positions that arebelow the middle z-order layer, where the instructions are furtherexecutable to occupy each z-order layer with more than one userinterface element, and to stack the user interface elements in eachlayer such that a newest user interface element to occupy the layer islocated at a top z-order position within the layer.
 10. The computingdevice of claim 9, where the lower z-order layer is a bottom z-orderlayer.
 11. The computing device of claim 9, where the instructions areexecutable to detect movement of the user interface element on thedisplay as one or more of dragging, flicking, rotating, and resizing theuser interface element.
 12. The computing device of claim 9, wherein theinstructions are further executable to detect an initiation of a userinteraction with content contained within a selected user interfaceelement; if the user interaction is selection of a focus-assigning userinterface control within the selected user interface element, thendirect inputs from an indirect user input device to the selected userinterface element; and if the user interaction is not selection of thefocus-assigning user interface control within the selected userinterface element, then not direct inputs from the indirect user inputdevice to the selected user interface element.